#ifndef __BSP_SWITCH_H
#define __BSP_SWITCH_H

#include "stm32f10x.h"

//接近开关
#define SWITCH1_GPIO_PORT    	GPIOA			              /* GPIO端口 */
#define SWITCH1_GPIO_CLK 	    RCC_APB2Periph_GPIOC		/* GPIO端口时钟 */
#define SWITCH1_GPIO_PIN			GPIO_Pin_4			        /* 连接到SCL时钟线的GPIO */

/* 开关状态定义：如需反相，请根据实际接线调整 OPEN/CLOSE 的语义 */
#define SWITCH_OPEN   1
#define SWITCH_CLOSE  0

/* 原始电平读取（直接读PA5） */
#define SWITCH_READ_RAW() GPIO_ReadInputDataBit(SWITCH1_GPIO_PORT, SWITCH1_GPIO_PIN)

/* 初始化PA5为输入并使能上拉/时钟等（在 bsp_switch.c 中实现） */
void SWITCH_GPIO_Config(void);

/* 读取并返回消抖/语义化后的开关状态：SWITCH_OPEN 或 SWITCH_CLOSE（在 bsp_switch.c 中实现） */
uint8_t SWITCH_Read(void);

#endif
